The present invention relates generally to computer input devices and more particularly to methods and apparatus for processing input tablet data in a computer system.
Conventional computer systems generally have three basic subsystems, including a microprocessor which contains the control logic and arithmetic unit of the computer system, a memory which holds programs and data, and an input/output (I/O) subsystem having one or more ports that connect to internal or external "peripheral" devices such as terminals, disk drives, printers, modems, etc. The three subsystems are interconnected with busses and "glue chips" to perform their designed functionality, as is well known to those skilled in the art.
A common input peripheral device is a keyboard which is used to enter alphanumeric, command, and other information into the computer system. A common output peripheral device is a video display which includes a screen having a screen capable of displaying text, graphics, and other data under the control of the computer system. Some peripheral devices act as both input and output devices. For example, a so-called "pen-based" or "personal digital assistant" ("PDA") computer system includes a dual-function display that serves as both an output display and as an input "tablet."
With the advent of computer systems having graphical user interfaces ("GUI"), the use of input "pointer" devices has become almost universal. The most common type of input pointer device is known as a "mouse", which is used to control a pointer image displayed on the screen of the video display of the computer. Other equivalent structures for a mouse include trackballs and some input "pads", as will be discussed subsequently. The pointer image typically takes the form of an arrow, although other pointer images such as a pointing hand are also used. As the mouse is moved under the control of the computer user, the pointer image on the screen of the computer is caused to move accordingly on the screen.
Generally, a movement of the pointer device in an "x,y" direction will result in a corresponding displacement of the pointer image on the video display in an "x,y" direction. The relative movements are often to scale, although they are not necessarily linearly related. For example, the speed of movement of the mouse can be used to vary the relative movement of the pointer image on the screen.
The mouse input device furthermore includes a button typically coupled to a mechanical, momentary switch which is used to communicate information to the computer system. Pressing the button is often referred to as a "click", where the act of pressing the button is often referred to as "clicking" or "clicking the mouse." A "clicking" operation is one in which the mouse button is quickly pressed and released, and is often used to "select" objects, such as icons, windows, buttons etc., displayed on the screen of the video display. A "double-clicking" operation, in which the mouse button device is pressed and released twice in rapid succession, is often used to open or activate folders or application programs. "Pressing" the mouse refers to pressing and holding the button down without releasing the button. This "pressing" operation is often used as part of a "dragging" operation where a selected icon is "dragged" across the screen with the movement of the pointer image, or as part of a pull-down menu selection process.
The computer system including a mouse input device (or equivalent) and video display output device operates in a "relative-mode mapping" fashion. "Relative-mode mapping" refers to the way in which the computer system processes input data relating to the change of position of the mouse, and the subsequent mapping of this change of position to correspond to a related change of position of the pointer image displayed on the video display screen. With relative-mode mapping, the initial position of the mouse does not matter. Instead, what matters is the change of position (i.e. the relative position) of the mouse with respect to its initial position. For example, when the mouse is lifted from a surface and placed anywhere else on the surface, the pointer image does not change position on the video screen. Any further movement of the mouse over the surface will be relative to the new initial position of the mouse, not the old position of the mouse before it was lifted from the surface (both of which correspond to the same cursor position on the screen). All common mice, trackballs, and their equivalents operate with relative-mode mapping.
In contrast to relative-mode mapping, "absolute-mode mapping" utilizes the actual x,y position of an input device to control a pointer image on the screen of the video display. With absolute-mode mapping, the peripheral input device of the computer system has a defined input surface area designed for the entry of input pointer position data. An example of an absolute-mode mapping input device is an input "tablet" which provides the computer system with the x,y coordinates of the tip of a stylus engaging its input surface area.
As briefly mentioned previously, another type of input peripheral device in a computer system is known as a "trackpad." A trackpad input device is provided, for example, on the 500-series PowerBook.TM. laptop computers made and marketed by Apple Computer, Inc. of Cupertino, Calif. A trackpad includes an input "pad" or "tablet" capable of sensing the position of an input pointer placed in contact with the input pad. The input pointer may take any number of forms, such as a stylus, a user's finger, etc.
The trackpad of the 500-series PowerBook.TM. portable computer from Apple Computer, Inc. operates with relative-mode mapping, as opposed to a conventional tablet which, as mentioned previously, operates with absolute-mode mapping. Therefore, the motion information developed by the trackpad is processed by the computer system such that the pointer image is controlled with relative-mode mapping. When the input pointer is lifted from one location on the trackpad and then re-engaged with the trackpad at another location, the pointer image displayed on the video display screen does not change in position, in a manner analogous to the operation of a mouse as described above. A mechanical button, similar to the mouse button described previously, is typically provided in close proximity to the trackpad. Therefore, a conventional trackpad is configured to operate essentially identically to the operation of a conventional mouse or similar "relative" input pointing device.
It should be noted that the cost of providing a mechanical button in conjunction with a trackpad is greater than the cost of the trackpad itself. In addition, the reliability of a mechanical button is inferior to that of a trackpad.
Furthermore, even though trackpads are mechanically and electrically similar to input tablets, trackpads of the prior art operate solely with relative-mode mapping as opposed to the absolute-mode mapping available with input tablets. This reduces the functionality of the trackpads for certain applications.